\section{Documentazione del codice}
La documentazione del codice \emph{SemOPT} era pressochè assente ed è stata
largamente migliorata, basandosi sullo studio del codice.
Sia per quella che per quella relativa a \emph{Pref} è stato utilizzato
\textbf{Doxygen} per generare del codice HTML navigabile, e il linguaggio
\textbf{dot} per aggiungervi dei grafi. Si rimanda all'html allegato alla
Documentazione, ed eventualmente al codice sorgente.

\section{Testing del codice}
Per individuare il maggior numero di bug presenti nel codice, è stata realizzata
una suite di testing per verificare la correttezza delle funzioni principali del
programma. La scelta circa il programma di testing si è basata su 4 fattori:
\begin{enumerate}
  \item compatibilità con C++;
  \item facilità d'uso;
  \item facilità di installazione;
  \item presenza di un plugin in Eclipse per l'utilizzo.
\end{enumerate} 
Da questi criteri si è infine deciso di utilizzare il set di funzioni CUTE
\footnote{Le istruzioni di utilizzo, di downlaod ed il plugin di Eclipse sono
disponibili all'URL http://cute-test.com/}.
Per testare nel migliore dei modi il codice del progetto, sono stati realizzati
37 test totali, divisi in 2 categorie:
\begin{enumerate}
  \item test sulla correttezza delle funzioni: sono state verificate le funzioni
  da noi sviluppate, come per esempio la funzione \emph{addSetArgumentsToAll}
  oppure la funzione \emph{getAllAttackers};
  \item test sulla correttezza del valore delle preferred extension: per
  verificare la correttezza dei risultati del progetto, è stato confrontato il
  valore di ritorno del programma con il valore computato dall'oracolo.
\end{enumerate}

La suite di test è, insieme alla documentazione, allegata al progetto.
